#ifndef __RAW_PACKET_H__
#define __RAW_PACKET_H__

#include "object.h"
#include "net_address.h"

typedef struct raw_packet_t raw_packet_t;

struct raw_packet_t {
    object_t            obj;
    uint32_t            size;
    uint8_t             data[ETH_MAX_FRAME_SIZE];
};

raw_packet_t *raw_packet_new(void);
bool          raw_packet_init(raw_packet_t *this);
uint16_t      raw_packet_calc_checksum(uint16_t *buffer, uint32_t len);

#endif
